<template>
  <div>
    <div>
      <div class="header">
        <div>
          <el-input
            prefix-icon="el-icon-search"
            placeholder="请输入员工姓名进行搜索..."
            v-model="empName"
            @keydown.enter.native="initEmps"
            clearable
            @clear="initEmps"
          ></el-input>
          <el-button
            type="primary"
            size="mini"
            icon="el-icon-search"
            @click="initEmps"
            >搜索</el-button
          >
          <el-button type="primary" size="mini"
            ><i class="fa fa-angle-double-down" aria-hidden="true"></i
            >高级搜索</el-button
          >
        </div>
        <div>
          <el-upload
            style="display: inline-flex; margin-right: 10px"
            :headers="headers"
            show-file-list="false"
            action="/employee/basic/import"
            :before-upload="beforeUpload"
            :on-success="onSuccess"
            :on-error="onError"
            :disabled="importDataDisabled"
          >
            <el-button
              type="success"
              :icon="importDataBtnIcon"
              :disabled="importDataDisabled"
              >{{ importDataBtnText }}</el-button
            >
          </el-upload>

          <el-button type="success" @click="exportData" icon="el-icon-download"
            >导出数据</el-button
          >
          <el-button type="primary" icon="el-icon-plus" @click="showAddEmpView"
            >添加员工</el-button
          >
        </div>
      </div>
    </div>
    <div
      style="
        border: 1px solid #409eff;
        border-radius: 5px;
        box-sizing: border-box;
        padding: 5px;
        margin: 10px;
      "
    >
      <el-row>
        <el-col :span="5">
          政治面貌:
          <el-select
            v-model="emp.politicid"
            placeholder="请选择"
            size="mini"
            style="width: 200px"
          >
            <el-option
              v-for="item in politicsstatus"
              :key="item.id"
              :label="item.name"
              :value="item.id"
            >
            </el-option>
          </el-select>
        </el-col>
        <el-col :span="4">
          名族:
          <el-select
            v-model="emp.nationid"
            placeholder="请选择"
            size="mini"
            style="width: 130px"
          >
            <el-option
              v-for="item in nations"
              :key="item.id"
              :label="item.name"
              :value="item.id"
            >
            </el-option
          ></el-select>
        </el-col>
        <el-col :span="4">
          职位:<el-select
            v-model="emp.posid"
            placeholder="请选择"
            size="mini"
            style="width: 130px"
          >
            <el-option
              v-for="item in positions"
              :key="item.id"
              :label="item.name"
              :value="item.id"
            >
            </el-option
          ></el-select>
        </el-col>
        <el-col :span="4">
          职称:<el-select
            v-model="emp.joblevelid"
            placeholder="请选择"
            size="mini"
            style="width: 120px"
          >
            <el-option
              v-for="item in joblevels"
              :key="item.id"
              :label="item.name"
              :value="item.id"
            >
            </el-option
          ></el-select>
        </el-col>
        <el-col :span="7">
          聘用形式:
          <el-radio-group v-model="emp.engageform" style="margin-top: 8px">
            <el-radio label="劳动合同">劳动合同</el-radio>
            <el-radio label="劳务合同">劳务合同</el-radio>
          </el-radio-group>
        </el-col>
      </el-row>
      
    </div>
    <div style="margin-top: 10px">
      <el-table
        :data="emps"
        border
        stripe
        style="width: 100%"
        v-loading="loading"
        element-loading-text="拼命加载中"
        element-loading-spinner="el-icon-loading"
        element-loading-background="rgba(0, 0, 0, 0.8)"
      >
        <el-table-column type="selection" width="40"> </el-table-column>
        <el-table-column prop="name" label="姓名" width="70" align="left" fixed>
        </el-table-column>
        <el-table-column prop="workid" label="工号" width="85" align="left">
        </el-table-column>
        <el-table-column prop="gender" label="性别" width="35" align="left">
        </el-table-column>
        <el-table-column
          prop="birthday"
          label="出生日期"
          width="95"
          align="left"
        >
        </el-table-column>
        <el-table-column prop="idcard" label="身份证" width="150" align="left">
        </el-table-column>
        <el-table-column
          prop="wedlock"
          label="婚姻状况"
          width="75"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="nation.name"
          label="名族"
          width="70"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="nativeplace"
          label="籍贯"
          width="70"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="politicsStatus.name"
          label="政治面貌"
          width="95"
          align="left"
        >
        </el-table-column>
        <el-table-column prop="email" label="电子邮件" width="170" align="left">
        </el-table-column>
        <el-table-column prop="phone" label="电话号码" width="130" align="left">
        </el-table-column>
        <el-table-column
          prop="address"
          label="联系地址"
          width="270"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="department.name"
          label="部门"
          width="85"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="position.name"
          label="职位"
          width="85"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="joblevel.name"
          label="职称"
          width="100"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="engageform"
          label="聘用形式"
          width="90"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="tiptopdegree"
          label="最高学历"
          width="80"
          align="left"
        >
        </el-table-column>
        <el-table-column prop="school" label="学校" width="130" align="left">
        </el-table-column>
        <el-table-column prop="specialty" label="专业" width="130" align="left">
        </el-table-column>
        <el-table-column
          prop="workstate"
          label="在职状态"
          width="80"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="begindate"
          label="入职日期"
          width="95"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="conversiontime"
          label="转正日期"
          width="95"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="begincontract"
          label="合同起始日期"
          width="95"
          align="left"
        >
        </el-table-column>
        <el-table-column
          prop="endcontract"
          label="合同截至日期"
          width="95"
          align="left"
        >
        </el-table-column>
        <el-table-column label="合同期限" width="75" align="left">
          <template slot-scope="scope">
            <el-tag>{{ scope.row.contractterm }}</el-tag
            >年</template
          >
        </el-table-column>
        <el-table-column label="操作" width="200" fixed="right">
          <template slot-scope="scope">
            <el-button
              style="padding: 3px"
              size="mini"
              @click="showEditEmpView(scope.row)"
              >编辑</el-button
            >
            <el-button style="padding: 3px" type="primary" size="mini"
              >查看高级资料</el-button
            >
            <el-button
              style="padding: 3px"
              type="danger"
              size="mini"
              @click="deleteEmp(scope.row)"
              >删除</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <div style="display: flex; justify-content: flex-end">
        <el-pagination
          background
          layout="sizes,prev, pager, next, jumper, ->, total"
          :total="total"
          @current-change="currentChange"
          @size-change="sizeChange"
        >
        </el-pagination>
      </div>
    </div>
    <el-dialog :title="title" :visible.sync="dialogVisible">
      <div>
        <el-form ref="empForm" :model="emp" :rules="rules">
          <el-row>
            <el-col :span="6"
              ><el-form-item label="姓名:" prop="name">
                <el-input
                  v-model="emp.name"
                  placeholder="请输入员工姓名"
                  size="mini"
                  style="width: 150px"
                  prefix-icon="el-icon-edit"
                ></el-input> </el-form-item
            ></el-col>
            <el-col :span="5">
              <el-form-item label="性别:" prop="gender">
                <el-radio-group v-model="emp.gender" style="margin-top: 8px">
                  <el-radio label="男">男</el-radio>
                  <el-radio label="女">女</el-radio>
                </el-radio-group>
              </el-form-item>
            </el-col>
            <el-col :span="6"
              ><el-form-item label="出生日期:" prop="birthday">
                <el-date-picker
                  v-model="emp.birthday"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  size="mini"
                  style="width: 140px"
                >
                </el-date-picker> </el-form-item
            ></el-col>
            <el-col :span="7">
              <el-form-item label="政治面貌:" prop="politicid">
                <el-select
                  v-model="emp.politicid"
                  placeholder="请选择"
                  size="mini"
                  style="width: 200px"
                >
                  <el-option
                    v-for="item in politicsstatus"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="名族:" prop="nationid"
                ><el-select
                  v-model="emp.nationid"
                  placeholder="请选择"
                  size="mini"
                  style="width: 150px"
                >
                  <el-option
                    v-for="item in nations"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                  >
                  </el-option></el-select
              ></el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item label="籍贯:" prop="nativeplace">
                <el-input
                  v-model="emp.nativeplace"
                  placeholder="请输入籍贯"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 120px"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="电子邮箱:" prop="email">
                <el-input
                  v-model="emp.email"
                  placeholder="请输入电子邮箱"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 140px"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="7">
              <el-form-item label="联系地址:" prop="address">
                <el-input
                  v-model="emp.address"
                  placeholder="请输入联系地址"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 200px"
                ></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="职位:" prop="posid"
                ><el-select
                  v-model="emp.posid"
                  placeholder="请选择"
                  size="mini"
                  style="width: 150px"
                >
                  <el-option
                    v-for="item in positions"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                  >
                  </el-option></el-select
              ></el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item label="职称:" prop="joblevelid"
                ><el-select
                  v-model="emp.joblevelid"
                  placeholder="请选择"
                  size="mini"
                  style="width: 120px"
                >
                  <el-option
                    v-for="item in joblevels"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                  >
                  </el-option></el-select
              ></el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="所属部门:" prop="departmentid">
                <el-popover
                  placement="bottom"
                  title="请选择部门"
                  width="200"
                  trigger="manual"
                  v-model="visible"
                >
                  <el-tree
                    :data="allDeps"
                    :props="defaultProps"
                    @node-click="handleNodeClick"
                    default-expand-all
                  ></el-tree>
                  <div
                    slot="reference"
                    style="
                      width: 140px;
                      display: inline-flex;
                      border: 1px solid #dedede;
                      height: 24px;
                      border-radius: 5px;
                      cursor: pointer;
                      align-items: center;
                      font-size:13px;
                      padding-left:8px
                      box-sizing:border-box
                    "
                    @click="showDepView"
                  >
                    {{ inputDepName }}
                  </div>
                </el-popover>
              </el-form-item></el-col
            >
            <el-col :span="7"
              ><el-form-item label="电话号码:" prop="phone">
                <el-input
                  v-model="emp.phone"
                  placeholder="请输入电话号码"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 200px"
                ></el-input> </el-form-item
            ></el-col>
          </el-row>
          <el-row>
            <el-col :span="6"
              ><el-form-item label="工号:" prop="workid">
                <el-input
                  v-model="emp.workid"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 150px"
                  disabled
                ></el-input> </el-form-item
            ></el-col>
            <el-col :span="5">
              <el-form-item label="学历:" prop="tiptopdegree"
                ><el-select
                  v-model="emp.tiptopdegree"
                  placeholder="请选择"
                  size="mini"
                  style="width: 120px"
                >
                  <el-option
                    v-for="item in tiptopdegrees"
                    :key="item"
                    :label="item"
                    :value="item"
                  >
                  </el-option></el-select
              ></el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="毕业院校:" prop="school">
                <el-input
                  v-model="emp.school"
                  placeholder="请输入学校"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 140px"
                ></el-input> </el-form-item
            ></el-col>
            <el-col :span="7"
              ><el-form-item label="专业名称:" prop="specialty">
                <el-input
                  v-model="emp.specialty"
                  placeholder="请输入专业名称"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 200px"
                ></el-input> </el-form-item
            ></el-col>
          </el-row>
          <el-row>
            <el-col :span="6"
              ><el-form-item label="入职日期:" prop="begindate">
                <el-date-picker
                  v-model="emp.begindate"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  size="mini"
                  style="width: 130px"
                >
                </el-date-picker> </el-form-item
            ></el-col>
            <el-col :span="5"
              ><el-form-item label="转正日期:" prop="conversiontime">
                <el-date-picker
                  v-model="emp.conversiontime"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  size="mini"
                  style="width: 130px"
                >
                </el-date-picker> </el-form-item
            ></el-col>
            <el-col :span="6"
              ><el-form-item label="合同起始日期:" prop="begincontract">
                <el-date-picker
                  v-model="emp.begincontract"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  size="mini"
                  style="width: 150px"
                >
                </el-date-picker> </el-form-item
            ></el-col>
            <el-col :span="7"
              ><el-form-item label="合同截至日期:" prop="endcontract">
                <el-date-picker
                  v-model="emp.endcontract"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  size="mini"
                  style="width: 200px"
                >
                </el-date-picker> </el-form-item
            ></el-col>
          </el-row>
          <el-row>
            <el-col :span="6"
              ><el-form-item label="身份证号码:" prop="idcard">
                <el-input
                  v-model="emp.idcard"
                  placeholder="请输入身份证号码"
                  prefix-icon="el-icon-edit"
                  size="mini"
                  style="width: 250px"
                ></el-input> </el-form-item
            ></el-col>
            <el-col :span="9">
              <el-form-item label="聘用形式:" prop="engageform">
                <el-radio-group
                  v-model="emp.engageform"
                  style="margin-top: 8px"
                >
                  <el-radio label="劳动合同">劳动合同</el-radio>
                  <el-radio label="劳务合同">劳务合同</el-radio>
                </el-radio-group>
              </el-form-item></el-col
            >
            <el-col :span="9">
              <el-form-item label="婚姻状况:" prop="wedlock">
                <el-radio-group v-model="emp.wedlock" style="margin-top: 8px">
                  <el-radio label="已婚">已婚</el-radio>
                  <el-radio label="未婚">未婚</el-radio>
                  <el-radio label="离异">离异</el-radio>
                </el-radio-group>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="doAddEmp">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
export default {
  name: "EmpBasic",
  data() {
    return {
      emps: [],
      loading: false,
      total: 0,
      currentPage: 1,
      size: 10,
      empName: "",
      dialogVisible: false,
      nations: [],
      joblevels: [],
      politicsstatus: [],
      positions: [],
      visible: false,
      title: "",
      defaultProps: {
        children: "children",
        label: "name",
      },
      importDataBtnText: "导入数据",
      importDataBtnIcon: "el-icon-upload2",
      importDataDisabled: false,
      headers: {
        Authorization: window.sessionStorage.getItem("tokenStr"),
      },
      allDeps: [],
      inputDepName: "",
      tiptopdegrees: [
        "博士",
        "硕士",
        "本科",
        "大专",
        "高中",
        "初中",
        "小学",
        "其他",
      ],
      emp: {
        id: null,
        name: "",
        gender: "",
        birthday: "",
        idcard: "",
        wedlock: "",
        nationid: null,
        nativeplace: "",
        politicid: null,
        email: "",
        phone: "",
        address: "",
        departmentid: null,
        joblevelid: null,
        posid: null,
        engageform: "",
        tiptopdegree: "",
        specialty: "",
        school: "",
        begindate: "",
        workstate: "在职",
        workid: "",
        contractterm: null,
        conversiontime: "",
        notworkdate: "",
        begincontract: "",
        endcontract: "",
        workage: null,
        salaryid: null,
      },
      rules: {
        name: [{ required: true, message: "请输入员工姓名", trigger: "blur" }],
        gender: [
          { required: true, message: "请输入员工性别", trigger: "blur" },
        ],
        birthday: [
          { required: true, message: "请选择出生日期", trigger: "blur" },
        ],
        idcard: [
          { required: true, message: "请输入身份证号码", trigger: "blur" },
          {
            pattern: /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
            message: "身份证号码不正确",
            trigger: "blur",
          },
        ],
        wedlock: [
          { required: true, message: "请输入婚姻状况", trigger: "blur" },
        ],
        nationid: [{ required: true, message: "请输入名族", trigger: "blur" }],
        nativeplace: [
          { required: true, message: "请输入籍贯", trigger: "blur" },
        ],
        politicid: [
          { required: true, message: "请输入政治面貌", trigger: "blur" },
        ],
        email: [
          { required: true, message: "请输入邮箱地址", trigger: "blur" },
          { type: "email", message: "邮箱地址格式不正确" },
        ],
        phone: [{ required: true, message: "请输入电话号码", trigger: "blur" }],
        address: [
          { required: true, message: "请输入员工地址", trigger: "blur" },
        ],
        departmentid: [
          { required: true, message: "请输入部门", trigger: "blur" },
        ],
        joblevelid: [
          { required: true, message: "请输入职称", trigger: "blur" },
        ],
        posid: [{ required: true, message: "请输入职位", trigger: "blur" }],
        engageform: [
          { required: true, message: "请输入聘用形式", trigger: "blur" },
        ],
        tiptopdegree: [
          { required: true, message: "请输入学历", trigger: "blur" },
        ],
        specialty: [{ required: true, message: "请输入专业", trigger: "blur" }],
        school: [
          { required: true, message: "请输入毕业院校", trigger: "blur" },
        ],
        begindate: [
          { required: true, message: "请输入入职日期", trigger: "blur" },
        ],
        workstate: [
          { required: true, message: "请输入工作状态", trigger: "blur" },
        ],
        workid: [{ required: true, message: "请输入工号", trigger: "blur" }],
        contractterm: [
          { required: true, message: "请输入合同期限", trigger: "blur" },
        ],
        conversiontime: [
          { required: true, message: "请输入转正日期", trigger: "blur" },
        ],
        contractterm: [
          { required: true, message: "请输入合同期限", trigger: "blur" },
        ],
        notworkdate: [
          { required: true, message: "请输入离职日期", trigger: "blur" },
        ],
        begincontract: [
          { required: true, message: "请输入合同起始日期", trigger: "blur" },
        ],
        endcontract: [
          { required: true, message: "请输入合同结束日期", trigger: "blur" },
        ],
        workage: [{ required: true, message: "请输入工龄", trigger: "blur" }],
      },
    };
  },
  mounted() {
    this.initEmps();
    this.initData();
  },
  methods: {
    onSuccess() {
      this.importDataBtnIcon = "el-icon-upload2";
      this.importDataBtnText = "导入数据";
      this.importDataDisabled = false;
      this.initEmps();
    },
    onError() {
      this.importDataBtnIcon = "el-icon-upload2";
      this.importDataBtnText = "导入数据";
      this.importDataDisabled = false;
    },
    beforeUpload() {
      this.importDataBtnIcon = "el-icon-loading";
      this.importDataBtnText = "正在导入";
      this.importDataDisabled = true;
    },
    exportData() {
      this.downloadRequest("/employee/basic/export");
    },
    showEditEmpView(data) {
      this.title = "编辑员工信息";
      this.emp = data;
      this.inputDepName = data.department.name;
      this.initPos();
      this.dialogVisible = true;

      console.log(this.emp);
    },
    deleteEmp(data) {
      this.$confirm("是否删除该" + data.name, {
        distinguishCancelAndClose: true,
        confirmButtonText: "确定",
        cancelButtonText: "取消",
      })
        .then(() => {
          this.deleteRequest("/employee/basic/" + data.id).then((resp) => {
            if (resp) {
              this.initEmps();
            }
          });
        })
        .catch((action) => {
          this.$message({
            type: "info",
            message: "已取消删除",
          });
        });
    },
    doAddEmp() {
      if (this.emp.id) {
        this.$refs.empForm.validate((valid) => {
          if (valid) {
            this.putRequest("/employee/basic/", this.emp).then((resp) => {
              if (resp) {
                this.dialogVisible = false;
                this.initEmps();
              }
            });
          }
        });
      } else {
        this.$refs.empForm.validate((valid) => {
          if (valid) {
            this.postRequest("/employee/basic/", this.emp).then((resp) => {
              if (resp) {
                this.dialogVisible = false;
                this.initEmps();
              }
            });
          }
        });
      }
    },
    handleNodeClick(data) {
      this.visible = !this.visible;
      this.emp.departmentid = data.id;
      this.inputDepName = data.name;
    },
    showDepView() {
      this.visible = !this.visible;
    },
    getMaxWorkId() {
      this.getRequest("/employee/basic/maxWorkID").then((resp) => {
        if (resp) {
          this.emp.workid = resp.obj;
        }
      });
    },
    initPos() {
      this.getRequest("/employee/basic/position").then((resp) => {
        if (resp) {
          this.positions = resp;
        }
      });
    },
    initData() {
      if (!window.sessionStorage.getItem("nations")) {
        this.getRequest("/employee/basic/nation").then((resp) => {
          if (resp) {
            this.nations = resp;
            window.sessionStorage.setItem("nations", JSON.stringify(resp));
          }
        });
      } else {
        this.nations = JSON.parse(window.sessionStorage.getItem("nations"));
      }
      if (!window.sessionStorage.getItem("joblevels")) {
        this.getRequest("/employee/basic/joblevel").then((resp) => {
          if (resp) {
            this.joblevels = resp;
            window.sessionStorage.setItem("joblevels", JSON.stringify(resp));
          }
        });
      } else {
        this.joblevels = JSON.parse(window.sessionStorage.getItem("joblevels"));
      }
      if (!window.sessionStorage.getItem("politicsstatus")) {
        this.getRequest("/employee/basic/politicsStatus").then((resp) => {
          if (resp) {
            this.politicsstatus = resp;
            window.sessionStorage.setItem(
              "politicsstatus",
              JSON.stringify(resp)
            );
          }
        });
      } else {
        this.politicsstatus = JSON.parse(
          window.sessionStorage.getItem("politicsstatus")
        );
      }
      if (!window.sessionStorage.getItem("allDeps")) {
        this.getRequest("/employee/basic/deps").then((resp) => {
          if (resp) {
            this.allDeps = resp;
            window.sessionStorage.setItem("allDeps", JSON.stringify(resp));
          }
        });
      } else {
        this.allDeps = JSON.parse(window.sessionStorage.getItem("allDeps"));
      }
    },
    showAddEmpView() {
      this.title = "添加员工";
      this.emp = {
        id: null,
        name: "",
        gender: "",
        birthday: "",
        idcard: "",
        wedlock: "",
        nationid: null,
        nativeplace: "",
        politicid: null,
        email: "",
        phone: "",
        address: "",
        departmentid: null,
        joblevelid: null,
        posid: null,
        engageform: "",
        tiptopdegree: "",
        specialty: "",
        school: "",
        begindate: "",
        workstate: "在职",
        workid: "",
        contractterm: null,
        conversiontime: "",
        notworkdate: "",
        begincontract: "",
        endcontract: "",
        workage: null,
        salaryid: null,
      };
      // console.log(this.emp);
      this.inputDepName = "";
      this.initPos();
      this.getMaxWorkId();
      this.dialogVisible = true;
    },
    sizeChange(size) {
      this.size = size;
      this.initEmps();
    },
    currentChange(currentPage) {
      //console.log(currentPage);
      this.currentPage = currentPage;
      this.initEmps();
    },
    initEmps() {
      this.loading = true;
      this.getRequest(
        "/employee/basic/?currentPage=" +
          this.currentPage +
          "&size=" +
          this.size +
          "&name=" +
          this.empName
      ).then((resp) => {
        if (resp) {
          // console.log(resp);
          this.emps = resp.data;
          this.total = resp.total;
          this.loading = false;
        }
      });
    },
  },
};
</script>

<style>
.header {
  display: flex;
  margin-top: 10px;
  justify-content: space-between;
}
.header .el-input {
  width: 350px;
  margin-right: 10px;
}
</style>